const axios = require('axios');

const API_BASE = 'http://localhost:3000';
const TEST_USER_ID = '68aeed055e85b6f7f7ff0480';

async function testLoginAPI() {
  console.log('🧪 测试登录API...\n');
  
  try {
    // 1. 测试服务器是否运行
    console.log('1. 检查服务器状态...');
    try {
      const healthRes = await axios.get(`${API_BASE}/`);
      console.log('✅ 服务器运行正常');
    } catch (error) {
      console.log('❌ 服务器未运行或无法访问');
      console.log('请确保后端服务器已启动: npm start');
      return;
    }
    
    // 2. 测试登录接口
    console.log('\n2. 测试登录接口...');
    console.log(`请求URL: ${API_BASE}/users/login-by-id`);
    console.log(`请求数据: { userId: "${TEST_USER_ID}" }`);
    
    const loginRes = await axios.post(`${API_BASE}/users/login-by-id`, {
      userId: TEST_USER_ID
    });
    
    console.log('✅ 登录成功!');
    console.log('响应数据:', loginRes.data);
    
  } catch (error) {
    console.log('❌ 登录失败');
    
    if (error.response) {
      console.log('HTTP状态码:', error.response.status);
      console.log('错误响应:', error.response.data);
      
      if (error.response.status === 404) {
        console.log('\n🔍 分析: 用户不存在');
        console.log('可能的原因:');
        console.log('1. 数据库中确实没有这个用户ID');
        console.log('2. 用户ID格式不正确');
        console.log('3. 数据库连接问题');
      }
    } else if (error.request) {
      console.log('网络请求失败:', error.message);
    } else {
      console.log('其他错误:', error.message);
    }
  }
}

// 运行测试
testLoginAPI();
